/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pp_visitor;

import java.util.Iterator;

/**
 *
 * @author Delvoux
 */
public class ArvorePessoa implements ArvoreBinariaIF{
    private No raiz;

    public No criaArvore(Object arr) {
        Pessoa[] list = (Pessoa[])arr;
        for (int i = 0; i < list.length; i++) {
            Object object = list[i];
            this.addObj(object, this.raiz);
        }
        return raiz;
    }

    public void addObj(Object obj, No next) {
        Pessoa p = (Pessoa)obj;
        if(this.raiz == null){
            this.raiz = new No(p);
        }else{
            Pessoa noP = (Pessoa)next.getValor();            
            if(p.getIdade() < noP.getIdade()){
                if(next.getEsquerdo() == null)
                    next.setEsquerdo(new No(p));
                else
                    this.addObj(obj, next.getEsquerdo());
            }
            if(p.getIdade() >= noP.getIdade())
                if(next.getDireito() == null)
                    next.setDireito(new No(p));
                else
                    this.addObj(obj, next.getDireito());
        }
    }
    

}
